package pms.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import pms.dao.RennenDao;
import pms.dao.RennlaeuferDao;
import pms.om.Rennen;

/**
 * Controller to generate the Home Page basics to be rendered by a view. It
 * extends the convenience class AbstractController that encapsulates most of
 * the drudgery involved in handling HTTP requests.
 * 
 * @author josef@dr-schneeberger.de
 */
public class KonfiguriereRennen extends AbstractController {
	private RennenDao rennenDao;
	private RennlaeuferDao rennlaeuferDao;

	public void setRennenDao(RennenDao rennenDao) {
		this.rennenDao = rennenDao;
	}

	public void setRennlaeuferDao(RennlaeuferDao rennlaeuferDao) {
		this.rennlaeuferDao = rennlaeuferDao;
	}

	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception {
		int id;
		try {
			id = Integer.parseInt(httpServletRequest.getParameter("id"));
		} catch (NumberFormatException e) {
			id = 0;
		}
		Rennen rennen = rennenDao.findById(id);
		ModelAndView mv = new ModelAndView();
		mv.addObject("title", "Konfiguration des Rennens " + rennen.getRennbezeichnung());
		mv.addObject("message",
				"Wählen Sie die Renläufer aus, die an diesem Rennen teilnehmen.");
		mv.addObject("id", id);
		mv.addObject("alleRennlaeufer", rennlaeuferDao.findAll());
		mv.setViewName("konfig-rennen");
		return mv;
	}

}
